1. Technical Field
This invention relates to an apparatus and method for managing power consumption in a computing environment. More specifically, the invention relates to management of individual compute components in a multiple compute component environment.
2. Description of the Prior Art
Laptop computers are personal computers that generally include a microprocessor, hardware storage, an I/O port, and a communication port. The laptop may function independently for personal computing needs, or if it includes a network adaptor or modem, the laptop may become part of a local area or wide area network.
One of the features present on today's laptop and personal computers is the ability of the computer to be placed in a low power state of operation, such as Suspend and Hibernate. Both of these low power states of operation are known in the art in relation to personal computers. In the Suspend state, power to the processor or other accessories on the motherboard is turned off, but the memory remains intact. This is a state of low power consumption. When the operator of the computer wants to regain usage of the hardware accessory, the operator must Restore full power to the processor, the motherboard, and the associated hardware accessories, although a full system restart is not necessary since the memory remains intact. In addition to the Suspend state, the personal computer may also be placed in the low power state of Hibernate where power to the computer is turned off following placement of the memory to disc. Therefore, in general it is less time consuming to enter the Suspend state and Restore power to the computer or to enter the Hibernate state and Resume power to the computer, rather than to terminate power to the computer and restart the full system at a later time. Accordingly, use of the Suspend state on the laptop or personal computer is one example of power management on a personal computer system.
A multiprocessor computer system by definition contain multiple processors, also referred to herein as CPUs, that can execute multiple processes or multiple threads within a single process simultaneously in a manner known as parallel computing. In general, multiprocessor systems execute multiple processes or threads faster than conventional uniprocessor systems, such as personal computers (PCs), that execute programs sequentially. The actual performance advantage is a function of a number of factors, including the degree to which parts of a multithreaded process and/or multiple distinct processes can be executed in parallel and the architecture of the particular multiprocessor system at hand.
The architecture of shared memory multiprocessor systems may be classified by how their memory is physically organized. In distributed shared memory (DSM) machines, the memory is divided into modules physically placed near one or more processors, typically on a processor node. Although all of the memory modules are globally accessible, a processor can access local memory on its node faster than remote memory on other nodes. Because the memory access time differs based on memory location, such systems are also called non-uniform memory access (NUMA) machines. In centralized shared memory machines, on the other hand, the memory is physically in one location. Centralized shared memory computers are called uniform memory access (UMA) machines because the memory is equidistant in time for each of the processors. Both forms of memory organization typically use high-speed caches in conjunction with main memory to reduce execution time.
Processor nodes may be grouped to form a partition, which is a collection of one or more nodes interconnected together to form a computing environment for an operating system. Multiple partitions can exist within the same computer system. Each partition within a computer system executes a single independent operating system image. A multiprocessor computer system may be in the structure of a collection of nodes or partitions, including service processor hardware, a management console and other infrastructure, representing a single manageable and configurable environment. Accordingly, a system can be split into multiple logical computer systems or partitions, each of which executes a single operating system image.
In addition to multiprocessor computing systems in the form of partitioned nodes, there are also bladed multiprocessing computing systems. The bladed system is a collection of distributed computing resources available over a local or wide area network that appears as one large virtual computing system to an end user or application. Each computing resource is a server on a removable card that plugs into a shared infrastructure which plugs into a rack. The computing resources may share a keyboard, a monitor, and a connection to the local or wide area network. Each resource within the system may be configured to function under different operating systems. Accordingly, a bladed multiprocessing system is an example of a scalable system with multiple resources adapted to communicate through common communication connections.
A partitioned multiprocessor computing environment and a bladed multiprocessor computing environment are both comprised of multiple compute components. Each component includes at minimum a printed circuit board with one or more microprocessors and a communication port. Current management of multiple compute component systems, including bladed computer systems as well as partitioned computer systems, require shut-down of a specific compute component when maintenance is required. Each component operates in one of two states, on or off. There is no intermediate state of operation. This affects power management of a component or power consuming accessory on a component, as well as scheduled and unscheduled maintenance of a component. Accordingly, there is a need to enable intermediate states of operation of a component in a computer system to enable effective power management of components within a networked computing environment.